////https://www.luogu.com.cn/problem/P5788
//
//#include<iostream>
//#include<stack>
//using namespace std;
//
//const int N = 3e6 + 10;
//int x[N], ret[N];
//
//int main()
//{
//	int n; cin >> n;
//	for (int i = 1; i <= n; i++) cin >> x[i];
//
//	stack<int> s;
//	
//	for (int i = n; i > 0; i--)
//	{
//		while (s.size() && x[s.top()] <= x[i]) s.pop();
//		
//		if (s.size()) ret[i] = s.top();
//		else ret[i] = 0;
//
//		s.push(i);
//	}
//	for (int i = 1; i <= n; i++) cout << ret[i] << " ";
//	return 0;
//}